package lock.cyclicBarrier;

import java.util.concurrent.CyclicBarrier;

/**
 * 1号选手
 */
public class PlayerOneTask implements Runnable{

    private CyclicBarrier cyclicBarrier;

    public PlayerOneTask(CyclicBarrier barrier) {
        this.cyclicBarrier = barrier;
    }

    public void run() {
        try {
            Thread.sleep(3000);
            System.out.println("1号选手到达起跑线。。。");
            // 加同步锁ReentrantLock，起跑线等待其他人
            cyclicBarrier.await();
            // 所有人就位后开始跑，当最后一个线程到达时唤醒所有的线程
            System.out.println("1号选手开始跑。。。");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {

        }


    }
}
